package com.wyzz.hr.pojo.base;

import com.wyzz.hr.pojo.Empsalaryacct;
import com.wyzz.hr.pojo.Empsalaryacctversion;

import java.io.Serializable;
import java.util.Date;

public abstract class BaseEmpsalaryacctversion implements Serializable {

	public BaseEmpsalaryacctversion() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseEmpsalaryacctversion(String id) {
		hashCode = 0x80000000;
		setId(id);
		initialize();
	}

	public BaseEmpsalaryacctversion(String id, Empsalaryacct esavEsac,
			Date esavValidFrom, String esavCreateBy, Date esavCreateTime,
			String esavLastChangeBy, Date esavLastChangeTime) {
		hashCode = 0x80000000;
		setId(id);
		setEsavEsac(esavEsac);
		setEsavValidFrom(esavValidFrom);
		setEsavCreateBy(esavCreateBy);
		setEsavCreateTime(esavCreateTime);
		setEsavLastChangeBy(esavLastChangeBy);
		setEsavLastChangeTime(esavLastChangeTime);
		initialize();
	}

	protected void initialize() {
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
		hashCode = 0x80000000;
	}

	public Date getEsavValidFrom() {
		return esavValidFrom;
	}

	public void setEsavValidFrom(Date esavValidFrom) {
		this.esavValidFrom = esavValidFrom;
	}

	public Date getEsavValidTo() {
		return esavValidTo;
	}

	public void setEsavValidTo(Date esavValidTo) {
		this.esavValidTo = esavValidTo;
	}

	public String getEsavCreateBy() {
		return esavCreateBy;
	}

	public void setEsavCreateBy(String esavCreateBy) {
		this.esavCreateBy = esavCreateBy;
	}

	public Date getEsavCreateTime() {
		return esavCreateTime;
	}

	public void setEsavCreateTime(Date esavCreateTime) {
		this.esavCreateTime = esavCreateTime;
	}

	public String getEsavLastChangeBy() {
		return esavLastChangeBy;
	}

	public void setEsavLastChangeBy(String esavLastChangeBy) {
		this.esavLastChangeBy = esavLastChangeBy;
	}

	public Date getEsavLastChangeTime() {
		return esavLastChangeTime;
	}

	public void setEsavLastChangeTime(Date esavLastChangeTime) {
		this.esavLastChangeTime = esavLastChangeTime;
	}

	public Empsalaryacct getEsavEsac() {
		return esavEsac;
	}

	public void setEsavEsac(Empsalaryacct esavEsac) {
		this.esavEsac = esavEsac;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Empsalaryacctversion))
			return false;
		Empsalaryacctversion empsalaryacctversion = (Empsalaryacctversion) obj;
		if (null == getId() || null == empsalaryacctversion.getId())
			return false;
		else
			return getId().equals(empsalaryacctversion.getId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "Empsalaryacctversion";
	public static String PROP_ESAV_VALID_TO = "esavValidTo";
	public static String PROP_ESAV_CREATE_TIME = "esavCreateTime";
	public static String PROP_ESAV_CREATE_BY = "esavCreateBy";
	public static String PROP_ESAV_VALID_FROM = "esavValidFrom";
	public static String PROP_ESAV_LAST_CHANGE_TIME = "esavLastChangeTime";
	public static String PROP_ESAV_LAST_CHANGE_BY = "esavLastChangeBy";
	public static String PROP_ESAV_ESAC = "esavEsac";
	public static String PROP_ID = "id";
	private int hashCode;
	private String id;
	private Date esavValidFrom;
	private Date esavValidTo;
	private String esavCreateBy;
	private Date esavCreateTime;
	private String esavLastChangeBy;
	private Date esavLastChangeTime;
	private Empsalaryacct esavEsac;

}
